package com.aspose.cells;

abstract class zasf {
   protected WorkbookSettings e;
   protected Cell f;

   zasf(Cell var1, WorkbookSettings var2) {
      this.f = var1;
      this.e = var2;
   }

   protected abstract Object a(Object var1, Object var2);

   boolean a() {
      return true;
   }

   Object c(Object var1, Object var2) {
      int var3 = 1;
      int var4 = 1;
      boolean var5 = true;
      Object[][] var6 = (Object[][])null;
      Object[][] var7 = (Object[][])null;
      if (var1 != null && var1 instanceof Object[][]) {
         var6 = (Object[][])((Object[][])var1);
         var3 = var6.length;
         var4 = var6[0].length;
         if (var3 == 1 && var4 == 1) {
            var1 = var6[0][0];
            var6 = (Object[][])null;
         }
      }

      if (this.a() && var2 != null && var2 instanceof Object[][]) {
         var7 = (Object[][])((Object[][])var2);
         if (var7.length == 1 && var7[0].length == 1) {
            var2 = var7[0][0];
            var7 = (Object[][])null;
         } else {
            if (var7.length != var3) {
               var5 = false;
               if (var7.length > var3) {
                  var3 = var7.length;
               }
            }

            if (var7[0].length != var4) {
               var5 = false;
               if (var7[0].length > var4) {
                  var4 = var7[0].length;
               }
            }
         }
      }

      if (var6 == null) {
         return var7 == null ? this.a(var1, var2) : this.a(var1, var7, var3, var4);
      } else {
         return this.a() && var7 != null ? this.a(var6, var7, var5, var3, var4) : this.a(var6, var2, var3, var4);
      }
   }

   private Object a(Object[][] var1, Object var2, int var3, int var4) {
      Object[][] var5 = new Object[var3][];

      for(int var6 = 0; var6 < var3; ++var6) {
         if (var1[var6] != null) {
            var5[var6] = new Object[var4];

            for(int var7 = 0; var7 < var4; ++var7) {
               var5[var6][var7] = this.a(var1[var6][var7], var2);
            }
         }
      }

      return var5;
   }

   private Object a(Object var1, Object[][] var2, int var3, int var4) {
      Object[][] var5 = new Object[var3][];

      for(int var6 = 0; var6 < var3; ++var6) {
         if (var2[var6] != null) {
            var5[var6] = new Object[var4];

            for(int var7 = 0; var7 < var4; ++var7) {
               var5[var6][var7] = this.a(var1, var2[var6][var7]);
            }
         }
      }

      return var5;
   }

   private Object a(Object[][] var1, Object[][] var2, boolean var3, int var4, int var5) {
      Object[][] var6 = new Object[var4][];
      if (var3) {
         for(int var7 = 0; var7 < var4; ++var7) {
            if (var1[var7] != null || var2[var7] != null) {
               var6[var7] = new Object[var5];

               for(int var8 = 0; var8 < var5; ++var8) {
                  var6[var7][var8] = this.a(var1[var7] == null ? null : var1[var7][var8], var2[var7] == null ? null : var2[var7][var8]);
               }
            }
         }
      } else {
         Object[] var13 = null;
         Object[] var14 = null;
         Object var9 = null;
         Object var10 = null;

         label102:
         for(int var11 = 0; var11 < var4; ++var11) {
            var13 = null;
            var14 = null;
            int var12;
            if (var11 < var1.length && var1[var11] != null) {
               if (var11 < var2.length && var2[var11] != null) {
                  var13 = var1[var11];
                  var14 = var2[var11];
               } else {
                  if (var2.length != 1) {
                     var6[var11] = new Object[var5];
                     var12 = 0;

                     while(true) {
                        if (var12 >= var1[var11].length) {
                           continue label102;
                        }

                        var6[var11][var12] = this.a(var1[var11][var12], (Object)null);
                        ++var12;
                     }
                  }

                  var13 = var1[var11];
                  var14 = var2[0];
               }
            } else {
               if (var11 >= var2.length || var2[var11] == null) {
                  continue;
               }

               if (var1.length != 1) {
                  var6[var11] = new Object[var5];
                  var12 = 0;

                  while(true) {
                     if (var12 >= var2[var11].length) {
                        continue label102;
                     }

                     var6[var11][var12] = this.a((Object)null, var2[var11][var12]);
                     ++var12;
                  }
               }

               var13 = var1[0];
               var14 = var2[var11];
            }

            var6[var11] = new Object[var5];

            for(var12 = 0; var12 < var5; ++var12) {
               var9 = var12 >= var13.length ? (var13.length == 1 ? var13[0] : null) : var13[var12];
               var10 = var12 >= var14.length ? (var14.length == 1 ? var14[0] : null) : var14[var12];
               var6[var11][var12] = this.a(var9, var10);
            }
         }
      }

      return var6;
   }
}
